﻿<!DOCTYPE html>
<html>

<head>
	<meta charset=utf-8>
	<title>組み込み</title>
	<link href="base.css" rel="stylesheet" type="text/css" />
</head>

<body>
	<div class="main">
		<h1>組み込み</h1>
		
		<h2>概要</h2>
Effekseerのランタイムを別のプログラムに組み込む方法を説明します。

		<h3>Windows</h3>
		<p>
公式サイトにて、マルチスレッド設定のコンパイル済ランタイムを公開しています。それ以外の方は自分でコンパイルする必要があります。コンパイラはVisualStudio2010以降のみ対応しております。
		</p>

		<h4>DirectX9の場合</h4>
		<p>
「Runtime/EffekseerRendererDX9.sln」を組み込み先の設定(マルチスレッドDLL等)に合わせて設定しなおしてコンパイルしてください。現在、DirectX SDKが必須となっており、また、プロジェクトはVisualC++2013のみが存在しています。コンパイルが成功すると、「Runtime/include」にインクルードファイルが、「Runtime/lib」にライブラリファイルが生成されます。
		</p>

		<h4>DirectX11の場合</h4>
		<p>
「Runtime/EffekseerRendererDX11.sln」を組み込み先の設定(マルチスレッドDLL等)に合わせて設定しなおしてコンパイルしてください。現在、DirectX SDKが必須となっており、また、プロジェクトはVisualC++2013のみが存在しています。コンパイルが成功すると、「Runtime/include」にインクルードファイルが、「Runtime/lib」にライブラリファイルが生成されます。
		</p>

		<h4>OpenGLの場合(Windows)</h4>
		<p>
「Runtime/EffekseerRendererGL.sln」を組み込み先の設定(マルチスレッドDLL等)に合わせて設定しなおしてコンパイルしてください。プロジェクトはVisualC++2013のみが存在しています。コンパイルが成功すると、「Runtime/include」にインクルードファイルが、「Runtime/lib」にライブラリファイルが生成されます。
		</p>
    
    <h3>他</h3>
		<p>
「Runtime/Effekseer」「Runtime/EffekseerRendererCommon」に共通コード、「EffekseerRendererGL」にOpenGLのコードが存在していますので、各自の環境に合わせて、ご自身で設定を用意しコンパイルするようお願いします。
		</p>

		<h3>マクロ</h3>
<table>
<tr>
	<td>__EFFEKSEER_RENDERER_GL_GLEW__</td>
	<td>glewのDLL版を使用(Windows以外)</td>
</tr>
<tr>
	<td>__EFFEKSEER_RENDERER_GL_GLEW_S__</td>
	<td>glewのstatic版を使用(Windows以外)</td>
</tr>
<tr>
	<td>__EFFEKSEER_RENDERER_GLES2__</td>
	<td>OpenGL ES2.0を使用</td>
</tr>
<tr>
	<td>__EFFEKSEER_RENDERER_INTERNAL_LOADER__</td>
	<td>内部で定義済みのローダーを使用する。</td>
</tr>
</table>
    
		<h2>プロジェクト設定</h2>
		<h3>VisualC++の場合</h3>
「Effekseer.h」「EffekseerRendererDX9.h」「EffekseerRendererGL.h」等が存在するディレクトリを追加のインクルードディレクトリに指定します。そして、DirectX9環境の場合、「Effekseer.h」「EffekseerRendererDX9.h」をインクルード、OpenGL環境の場合、「Effekseer.h」「EffekseerRendererGL.h」をインクルードします。また、ライブラリを参照に追加します。

		<h3>他</h3>
各自の環境に合わせて、ご自身で設定を用意するようお願いします。


		<h2>サンプル</h2>

		<ul class="menu">
			<li><a href="ja/execution.html">実行</a></li>
			<li><a href="ja/loader.html">独自ローダーの設定</a></li>
			<li><a href="ja/multithread.html">マルチスレッド</a></li>
			<li><a href="ja/network.html">ネットワーク</a></li>
			<li><a href="ja/culling.html">カリング</a></li>

			<li><a href="html/doxygen/index.html" target="_top">関数リファレンス</a></li>
		</ul>

		<h2>FAQ</h2>

		<h3>左手系で使用したい。</h3>
		<p>
本ヘルプの「組み込み->実行」を参照願います。
		</p>

		<h3>エフェクトの再生速度をエフェクトごとに変えたい。</h3>
		<p>
「Effekseer::Manager::SetSpeed」を使用してください。
		</p>

		<h3>テクスチャ読込方法の拡張ってどうやるの？</h3>
		<p>
本ヘルプの「組み込み->独自ローダーの設定」を参照願います。
		</p>

		<h3>エフェクトを任意の順番に個別に描画したい。</h3>
		<p>
Effekseer::Manager::DrawHandleをEffekseer::Manager::Drawの代わりに使用します。
途中に他のライブラリの描画を挟む場合は、その描画が行われた後にDrawHandleを実行する前に、EffekseerRenderer::Renderer::ResetRenderState()を実行します。
		</p>
		
		<h3>Zバッファが正しく働かない。</h3>
		<p>
カメラ行列設定、射影変換行列設定が間違っているケースが多いようです。
		</p>

		<h3>リボン、軌跡の表示がおかしくなる。</h3>
		<p>
初期化時の最大インスタンス数が小さすぎるケースが多いようです。
		</p>

		<h3>OpenGL版でテクスチャが設定されているインスタンスが描画されない。</h3>
		<p>
OpenGL版では、テクスチャはミップマップを持っている必要があります。「glGenerateMipmap」を使用して生成するようお願いします。
		</p>

		<h3>DXライブラリの3D表示がおかしくなる。</h3>
		<p>
Effekseerでエフェクトを描画した後、RefreshDxLibDirect3DSettingを呼んでください。
		</p>

	</div>
</body>

</html>